A recent trend in gaming is to make a game accessible to one or more users (e.g., players) by hosting the game online on a game server and distributing some portions of the game logic to client devices. Although some portions of the game logic that simulate the game actions of the game are distributed to the client devices, game logic that simulates the game actions of the game still operates on the game server. For example, in the course of playing a game, the game operations are first performed by the client device to effectuate the game play local to the client device and then performed again by the game server to prevent cheating and the like. Thus, the client devices and game servers in traditional systems execute the same game logic for each game action initiated by the users of the games.
Although the game logic executing on the game server and the client device may be conceptually the same, the game logic operating on the client device is typically written in one programming language, while the game logic operating on the game server is written in another. Thus, traditional game developers generally maintain separate development branches for the code to run on the game server and for the code to run on the client device.